1. Field of the Invention
The invention generally relates a system and method of monitoring servers in a network and, more particularly, intelligently routing requests from a network dispatcher to servers allocated in virtual clusters based on rules.
2. Background Description
In a network system, it is difficult to load balance millions of query activities over a number of servers in an open cluster environment when queries may vary from a very simple to resolve to being complex and rather timely to resolve, for example, queries to a lightweight directory access protocol (LDAP) server or to web application servers. In today's networking environments, intelligent network dispatching capability does not exist for handling these conditions on demand. The best approach that exists today is “round robin” dispatching that may lead to overload of an already burdened server while other servers remain practically idle.
Further, there is no capability to sense when a server, for example, an LDAP server or web application server, is heavily burdened either absolutely or in relation to other servers. This may lead to further overloading of the overburdened server, which creates inefficiencies within the system. Thus, temporary or even permanent reallocation of new queries to other servers in a cluster or shifting of server assignments is a desirable capability to improve overall query throughput and lessening of bottlenecks in network operations.
FIG. 1 is an exemplary block diagram of a typical network environment that includes LDAP servers 100, a network dispatcher 105, and one or more application requesters 110. In the environment of FIG. 1, requests from application requesters 110 to the network dispatcher 105 are targeted for any of the LDAP servers 100. These requests typically may be routed in a “round-robin” fashion among the set of LDAP servers 100. That is, a preset pattern, in circular fashion, may typically be used to distribute requests from the network dispatcher 105 to the LDAP servers 100. No awareness of capacity, current status, or ability to handle the request by any of the LDAP servers 100 is known to the network dispatcher 105. If any one of the LDAP servers 100 is overloaded, under this arrangement, it may become more overloaded. Further, there is no authentication of the requester request for access to a server.
When an application (e.g. 110) requires a number of servers (e.g., LDAP servers 100) in order to handle peak load periods, there is a burden with an overhead of keeping the servers available for just those peak periods. This may be a waste of resources. Also, during those peak periods for certain exploiters, classes of requests (e.g., a preferred customer) may require preferred treatment and service so that they may be serviced more quickly.